iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
0
Microsoft Azure

Python X 金融分析 X Azure系列 第 3

【Day3】取得資料-Google Sheet:股票開高低收

  • 分享至 

  • xImage
  •  

這邊會介紹用簡單的方式取得股票資料,並且記錄成csv檔案。


在做分析前,最重要的是資料,沒有資料就無法分析。

取得資料最簡單的方式,莫過於善用網路資源,其中網路資源整合中最好的就是Google的服務(個人認為)。
現在就是教如何使用Google,取得股票的開盤價、收盤價、最高價、最低價。

本次範例需要的工具是Google的Sheet
sheet中使用的是GOOGLEFINANCE的工具服務,這是從google財經中取得證券的過往資料或是即時資訊。

https://support.google.com/docs/answer/3093281?hl=zh-Hant

會用到的公式為:

GOOGLEFINANCE(代號, [屬性], [開始日期], [結束日期|天數], [間隔])

我們現在要使用的是股票的「歷史資料」:

  • open:指定日期的開盤價。
  • close:指定日期的收盤價。
  • high:指定日期的最高價。
  • low:指定日期的最低價。

在欄位中填入=GOOGLEFINANCE(股票代碼,屬性,日期),他就會提供相關資料。
例如,
如果我們需要鴻海2019/12/30的收盤價,就可以這樣輸入

=GOOGLEFINANCE("TPE:2317","close","2019/12/30")

https://ithelp.ithome.com.tw/upload/images/20200911/20103826zfsT146lkf.png

如果要開盤價是:

=GOOGLEFINANCE("TPE:2317","open","2019/12/30")

https://ithelp.ithome.com.tw/upload/images/20200911/20103826BANDA06L0b.png

如果我們要一個走期的話,可以這樣輸入

=GOOGLEFINANCE("TPE:2317","close","2019/12/30","2020/1/10")

https://ithelp.ithome.com.tw/upload/images/20200911/20103826lvnko166xG.png

如果把開高低收個別拉出來的時候,就會變成這樣:
https://ithelp.ithome.com.tw/upload/images/20200911/20103826RYu39l7T8d.png

其中有個小技巧,從前面幾張小圖中可以看到,會有提供兩欄,一個是日期,一個是屬性(開高低收),其中日期已經在第一欄了,所以日期該欄不是我們需要的,所以需要用index(資料,2,2)的方式取得。加上我把每個參數拉出來,變成變動性的,不是寫死就變成上圖那樣。而公式為:

=index((GOOGLEFINANCE((CONCATENATE($B$1,":",$F$1)),$F$3,A7)
),2,2)

最後整理出表後,要產出csv,這樣方便我們記錄,或是做分析時所用的數據,就直接在sheet中匯出吧!
直接在檔案> 下載> 逗號分隔值檔案,這樣就變成csv囉!

https://ithelp.ithome.com.tw/upload/images/20200911/201038263WhShCeS3u.png


後記:

簡單的蒐集資料,可以讓很多資料收集起來,而且又可以即時,可以進行快速的分析,雖這不是我們這次重點,是還是分享給大家知道。畢竟Google資料不是全部商品,像是ETF資料就沒有,或是期貨,所以還是要依靠Python取得資料!


上一篇
【Day2】安裝Python、Visual Studio Code
下一篇
【Day4】取得資訊-Python #1:設定Python環境
系列文
Python X 金融分析 X Azure31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言